Secure encryption and decryption techniques are desirable to improve system security in the storage and transmission of sensitive data. Prior cipher techniques for encryption have numerous shortcomings that allow for malicious users to break the encryption using brute force techniques or by recognizing patterns in the encrypted data.
Enigma machines can be used to perform symmetric encryption and decryption of data. An enigma machine contains a series of rotatable wheels containing a circular sequence of characters or data. The wheels are used to map a particular set of unencrypted data to an encrypted value. In a traditional enigma machine, the configuration of the rotatable wheels is fixed. This means that the encryption techniques are prone to brute force hacking if a pattern can be detected in the encrypted data that can be used to determine the configuration of the wheels. Additionally, in an enigma machine, each rotatable wheel is rotated incrementally one at a time. Once a particular wheel has finished a complete revolution, the next wheel advances a single step, similar to an odometer. This slow incrementing of the wheels in an enigma machine limit the complexity of the encryption algorithm, thereby making the encryption more prone to brute force decryption tactics. Additionally, enigma machines can be difficult to use with streaming data, as it can difficult to determine the end of data in a streaming context. What is needed is a virtual enigma machine cipher system that cures these shortcomings, thereby improving system security and allowing the system to be used for streaming data.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
While each of the figures illustrates a particular embodiment for purposes of illustrating a clear example, other embodiments may omit, add to, reorder, and/or modify any of the elements shown in the figures.